npm run dev 명령을 실행하면 .claude 디렉터리에 settings.json 파일이 두 개 생기는 것을 확인할 수 있습니다. 그 이유를 설명해 드리겠습니다.
Claude Code 문서에는 훅 보안과 관련된 몇 가지 권장 사항이 나와 있습니다:
권장 사항 중 하나는 스크립트에 상대 경로 대신 절대 경로를 사용하는 것입니다. 이를 통해 경로 가로채기 및 바이너리 심기 공격을 방지할 수 있습니다.
하지만 이 권장 사항 때문에 settings.json 파일을 공유하기가 훨씬 어려워집니다. 이유는 간단합니다: 여러분의 컴퓨터에서 훅 스크립트의 절대 경로는 제 컴퓨터의 절대 경로와 다를 가능성이 높습니다. 프로젝트를 서로 다른 디렉터리에 두기 때문입니다.
이 문제를 해결하기 위해 프로젝트에는 settings.example.json 파일이 포함되어 있습니다. 이 파일 안의 스크립트 참조에는 $PWD 플레이스홀더가 들어 있습니다. npm run setup을 실행하면 일부 의존성이 설치되고, scripts 디렉터리 안에 있는 init-claude.js 스크립트도 함께 실행됩니다. 이 스크립트는 $PWD 플레이스홀더를 여러분의 컴퓨터에서의 프로젝트 절대 경로로 대체하고, settings.example.json 파일을 복사한 후 settings.local.json으로 이름을 변경합니다.
이 스크립트 덕분에 settings.json 파일을 공유하면서도 권장되는 절대 경로를 그대로 사용할 수 있습니다!
